/*
 * 文件名：BookOrderInfoDaoImp.java
 * 版权：Copyright by www.wootide.com
 * 描述：
 * 修改人：ozm
 * 修改时间：2013-1-24
 * 跟踪单号：
 * 修改单号：
 * 修改内容：
 */
package com.wootide.cms.service.reservation.bookinfo.dao.imp;

import java.util.List;

import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

import com.wootide.cms.log.syslog.RunLog;
import com.wootide.cms.service.reservation.bookinfo.dao.BookOrderInfoDao;
import com.wootide.cms.service.reservation.bookinfo.pojo.BookOrderInfo;


public class BookOrderInfoDaoImp extends HibernateDaoSupport implements BookOrderInfoDao
{
    
    private RunLog runLog;
    
    //    /**
    //     * 添加一个用户
    //     * Description: <br>
    //     * Implement: <br>
    //     * @param userInfo 新增的用户信息
    //     * @see
    //     * @return void
    //     * @author ozm
    //     */
    //    public void addOneUser(UserInfo userInfo)
    //    {
    //       this.getHibernateTemplate().save(userInfo);
    //        
    //    }
    //
    //    /**
    //     * 修改一个用户
    //     * Description: <br>
    //     * Implement: <br>
    //     * @param userInfo 需要修改的用户信息
    //     * @see
    //     * @return void
    //     * @author ozm
    //     */
    //    public void modOneUser(UserInfo userInfo)
    //    {
    //        this.getHibernateTemplate().update(userInfo);
    //        
    //    }
    //
    //    /**
    //     * 删除一个用户
    //     * Description: <br>
    //     * Implement: <br>
    //     * @param userInfo 需要删除的用户信息
    //     * @see
    //     * @return void
    //     * @author ozm
    //     */
    //    public void delOneUser(UserInfo userInfo)
    //    {
    //        this.getHibernateTemplate().delete(userInfo);
    //        
    //    }
    
   
    
    /**
     * 通过名称获取客户预订信息
     * Description: <br>
     * Implement: <br>
     * @param orderNum 指定的客户预订信息
     * @see
     * @return BookOrderInfo 根据客户预订信息名称查询到的预订方式信息
     * @author ozm
     */
    public BookOrderInfo findOneBookOrderByOrderNum(String orderNum)
    {
        runLog.debug("orderNum=" + orderNum);
        List list = getHibernateTemplate().findByNamedQuery("findOneBookOrderByOrderNum",orderNum);
        
        return list.isEmpty() ? null : (BookOrderInfo)list.get(0);
    }
    
    /**
     * 
     * Description: 查询指定预订方式名的客户预订信息数
     * Implement: <br>
     * @param bookOrderName 指定的客户预订名称
     * @see
     * @return int 
     * @author ozm2013-1-29下午4:49:21
     */
    public int findNumByBookOrderName(String bookOrderName)
    {
        runLog.debug("bookOrderName=" + bookOrderName);
        
        return ((Number)getHibernateTemplate().findByNamedQuery("findOrderByNumByName",
                bookOrderName)
                .get(0)).intValue();
    }
    
    /**
     * 
     * Description: 通过预订方式ID获取预订方式信息
     * Implement: <br>
     * @param orderById 预订方式ID
     * @see
     * @return OrderByInfo 要获取的预订方式信息
     * @author ozm2013-1-30上午10:21:23
     */
    public BookOrderInfo findOneBookOrderById(Integer id)
    {
        runLog.debug("id=" + id);
        return this.getHibernateTemplate().get(BookOrderInfo.class, id);
    }
    
    public RunLog getRunLog()
    {
        return runLog;
    }
    
    public void setRunLog(RunLog runLog)
    {
        this.runLog = runLog;
    }
}
